﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;

namespace Autorizacion_facturas_caja.Departamento
{
    public partial class frmDepartamentoCaptura : Form
    {
        Manejador_Departamento Man = new Manejador_Departamento();
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        objDepartamento objD1 = new objDepartamento();
        Logs log = new Logs();

        int bandera1;
        public frmDepartamentoCaptura(int bandera, objDepartamento objD)
        {
            InitializeComponent();
            ObtieneDatosCombo();
            txtDepa.Visible = false;
            bandera1 = bandera;
            objD1 = objD;
            ToolTip1();
            switch (bandera) {
            
                case 1:

                    break;
                case 2:
                    MostrarDatos();
                    break;
            
            }
        }

        #region FUNCIONES
        private void ObtenerDatos() {
            objD1.sucursal = cmbSucursal.SelectedValue.ToString();
            if (chkOtro.Checked) objD1.departamento = txtDepa.Text.Trim();
            else  objD1.departamento = cmbDepa.SelectedValue.ToString();

        }
        private void ToolTip1()
        {

            ToolTip toolTip1 = new ToolTip();
            toolTip1.ShowAlways = true;
          
            toolTip1.SetToolTip(this.btnGuardar, "GUARDAR");
            toolTip1.SetToolTip(this.btnCancelar, "CANCELAR");
            toolTip1.SetToolTip(this.btnBuscarJefe, "BUSCAR JEFE");
    
        }
        private void ObtieneDatosCombo()
        {
            //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";

            cmbDepa.DataSource = Man.Lista_Departamentos_Distintos();
            cmbDepa.ValueMember = "departamento";
            cmbDepa.DisplayMember = "departamento";
        }
        private void MostrarDatos() {
            cmbDepa.SelectedValue = objD1.departamento;
            cmbSucursal.SelectedValue = objD1.sucursal;
            lblJefe.Text = objD1.jefe_nombre;
        }
        private bool Validar() {
            if (objD1.departamento != "" && objD1.id_jefe != null && objD1.sucursal != "")
            {
                return true;
            }
            else { MessageBox.Show("FALTAN DATOS POR CAPTURAR", "ALERTA"); return false; }
        
        }
        #endregion
      
        #region BOTONES

            private void btnBuscarJefe_Click(object sender, EventArgs e)
        {
            frmEmpleado_Busqueda rep = new frmEmpleado_Busqueda();
            rep.ShowDialog();
            objD1.id_jefe = rep.obj1.Id_Empleado;
            lblJefe.Text = rep.obj1.Nombre_completo;
        }
            private void btnLimpiar_Click(object sender, EventArgs e)
            {

            }
            private void btnCancelar_Click(object sender, EventArgs e)
            {
                Close();
            }
            private void btnGuardar_Click(object sender, EventArgs e)
            {
                bool resp=false;
                try
                {
                    if(Validar()){
                        ObtenerDatos();
                        switch (bandera1) { 
                       
                            case 1:
                                resp = Man.Guarda_Departamento(objD1.departamento, objD1.id_jefe, objD1.sucursal);
                                break;
                            case 2:
                                resp = Man.Modifica_Departamento(objD1.id_departamento, objD1.departamento, objD1.id_jefe, objD1.sucursal);
                                break;
                        }
                        if (resp)
                        {
                            if (bandera1 == 2)
                            {
                                bool resp1 = log.guardar(1, "prueba", 2, objD1.id_departamento, Man.id_actual, "MODIFICA DEPARTAMENTO");
                                if (resp1)
                                {
                                    string[] array = new string[] { "DEPARTAMENTO NOMBRE: " + objD1.departamento, " ID JEFE: " + objD1.id_jefe.ToString(), " JEFE: " + objD1.jefe_nombre, "SUCURSAL: " + objD1.sucursal };
                                    log.Log(array, "DEPARTAMENTO MODIFICA", Man.fecha);
                                }
                            }
                            else if (bandera1 == 1)
                            {
                                string[] array = new string[] { "DEPARTAMENTO NOMBRE" + objD1.departamento, " ID JEFE " + objD1.id_jefe.ToString(), " JEFE" + objD1.jefe_nombre, "SUCURSAL " + objD1.sucursal };
                                log.Log(array, " DEPARTAMENTO CAPTURA", Man.fecha);
                                bool l = log.guardar(2, "prueba2", 3, objD1.id_departamento, Man.id_actual, "MODIFICA DEPARTAMENTO");
                            }
                            MessageBox.Show("GUARDADO CORRECTAMENTE", "AVISO");
                            Close();
                        }
                        else MessageBox.Show("ERROR", "AVISO");
                    }
                }
                catch { MessageBox.Show("ERROR", "ALERTA"); }
            }

        #endregion
        #region EVENTOS

            private void chkOtro_CheckedChanged(object sender, EventArgs e)
            {
                if (chkOtro.Checked) { txtDepa.Visible = true; cmbDepa.Visible = false; }
                else { txtDepa.Visible = false; cmbDepa.Visible = true; }
            }
            #endregion
  
    }
}
